<?php

/**
 * Opis klasy Rotator
 *
 * @author Paweł Napieracz
 */
class Helper_Aktualnosci {

    public static function zajawkaGlowna() {
        $wynik = Sql::FindFirst('Aktualnosci', 'status = 1', 'datadodania DESC');
        $tagi = $wynik->find_attached('Tagi');
        if ($tagi !== false) {
            foreach ($tagi as $v) {
                $tag .= '<a href="/aktualnosci/akcja,wyszukiwarka,tag,' . $v->tag . '.html">'
                        . $v->tag . '</a>, ';
            }
            $tag = substr($tag, 0, -2);
        }
        return array('tytul' => $wynik->tytul,
            'autor' => $wynik->find_parent('Uzytkownik')->login,
            'datadodania' => $wynik->datadodania,
            'komentarze' => $wynik->komentarze,
            'obrazek' => $wynik->obrazek,
            'tresc' => $wynik->zajawka,
            'tagi' => $tag,
            'link' => '/aktualnosci/' . $wynik->url . '.html');
    }

    public static function generujUrl($url) {
        $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $url);
        $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
        $clean = strtolower(trim($clean, '-'));
        echo preg_replace("/[\/_|+ -]+/", '-', $clean);
        die();
    }

    /**
     * Zwraca tablice powiązanych artykułów
     * array('tytul','link');
     * @param <string> $url url artykuly, dzięki któremu znajdziemy powiązania
     * @param <int> $ile maksymalna liczba linków, 0 - wszystkie
     * @return <array>
     */
    public static function powiazaneAktualnosci($url, $ile) {
        $aktualnosc = Aktualnosci::FindByUrl($url);
        if ($aktualnosc !== false) {
            $tagi = $aktualnosc->find_attached('Tagi');
            $powiazane = array();
            $i = 0;
            foreach ($tagi as $v) {
                foreach ($v->find_attached('Aktualnosci') as $k => $v2) {
                    if (!isset($powiazane[$k]) && $aktualnosc != $v2) {
                        $i++;
                        $powiazane[$k] = array('tytul' => $v2->tytul,
                            'link' => "/aktualnosci/{$v2->url}.html");
                        if ($i == $ile) {
                            return $powiazane;
                        }
                    }
                }
            }
            return $powiazane;
        }
        return null;
    }

}

?>
